﻿#region Using

using System;
using SAPbobsCOM;

#endregion

namespace SapFramework.Exceptions.Sbo
{
    /// <summary>
    /// Exceção utilizada pelo PadaOne para identificar exceções lançadas pelo DI API SAP Business One
    /// </summary>
    [Serializable]
    public class DiApiException : Exception
    {
        private const string cSboLancouExcecao = "O SAP Business One lançou a seguinte exceção pela DI API: {0} - {1}";

        public DiApiException( Company aDatabase ) : this( aDatabase.GetLastErrorCode(), aDatabase.GetLastErrorDescription() ) {}

        public DiApiException( Company aDatabase, Exception aInner ) : this( aDatabase.GetLastErrorCode(), aDatabase.GetLastErrorDescription(), aInner ) {}

        public DiApiException( int aCode, string aDescription ) : base( string.Format( cSboLancouExcecao, aCode, aDescription ) ) {}

        public DiApiException( int aCode, string aDescription, Exception aInner ) : base( string.Format( cSboLancouExcecao, aCode, aDescription ), aInner ) {}
    }
}